package xing.repository.isv.suite;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import xing.domain.isv.suite.CorpChannelApp;

/********************************
 * 文 件 名 :CorpAppRepository.java
 * 创 建 人：陈天龙
 * 日    期：2017/8/24
 * 描   述：企业应用数据层操作接口
 * 版 本 号：v1.0.0
 ********************************/
public interface CorpChannelAppRepository extends JpaRepository<CorpChannelApp,Long> {

    /**
     * 描    述：新增或更新CorpChannelApp
     * 创 建 人：陈天龙
     * 日    期：2017/8/23
     * @param id
     * @param corpId
     * @param appId
     * @param agentId
     * @param agentName
     * @param logoUrl
     * @return int
     */
    @Modifying
    @Query(value = "insert into isv_corp_channel_app (id,gmt_create,gmt_modified,corp_id,app_id,agent_id,agent_name,logo_url" +
            ")values(:id,now(),now(),:corpId,:appId,:agentId,:agentName,:logoUrl)" +
            "ON DUPLICATE KEY UPDATE gmt_modified=now(),agent_id=:agentId,agent_name=:agentName,logo_url=:logoUrl",nativeQuery = true)
    int saveOrUpdateCorpChannelApp(@Param("id") Long id, @Param("corpId") String corpId, @Param("appId") Long appId, @Param("agentId") Long agentId, @Param("agentName") String agentName, @Param("logoUrl") String logoUrl);
}
